home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d19
/
pcbdai36.arc
/
PCBDAILY.DOC
< prev
next >
Wrap
Text File
|
1989-03-20
|
15KB
|
303 lines
PCBDAILY
Version 3.6
For PCBoard ver 10.0 thru 12.0
BETA VERSION for 12.0
August 1987
Written By
Mike Sabot
Sysop - AESC BBS
404-381-1947
Purpose: PcbDaily is designed to run in Event bat of PCBoard
Note: If run on a multi node board all nodes must be down
or the board will lock.
1. It will do automatic backups of the users file
2. It will generate one of 4 different daily user status bulletins.
3. It will automatically update the security level if desired by dl/upl
ratio or by strictly the number of uploads.
4. It will skip new users based upon how many times they have called, the
number selected by the sysop.
5. It will skip any one above a selected security level.
6. It will skip any one below a selected security level.
7. Reports parameters are user selectable and seperate from security level
updates.
8 Report heading is user selectable, ANSI graphics supported.
9. Sort of Users file ascending or descending by name or by security level
and then by descending order by name, ie A-Z.
10. It will skip any one until a given number of downloads.
11. It will skip any one until a given number of uploads.
12. For those of you using different menus by security level, it will cause
that user to be changed to a novice to redisplay the command menu only if
their secuity level has changed since previous security updates.
Scope: All you need is PCBDAILY.EXE and PCBDAILY.CFG. An example of
the .cfg file is include and only requires a simple line editor to make.
Qedit is one I use and does not add extra line feeds at the end as some
others.
Sample pcbdaily.cfg:
11.8 ------ LINE 1 --- VERSION OF PCBOARD USED
Y ------ LINE 2 --- make user novice if level changes
c:\pcb\main\users ------ LINE 3 --- path and name of users file
c:\pcb\main\users.bak ------ LINE 4 --- path and name of users backup file
c:\pcb\gen\blt11 ------ LINE 5 --- path and name of output file
c:\pcb\report.hed ------ LINE 6 --- path and name of output heading file
4 --------------------------- LINE 7 --- values of 0,1,2,3,4,5 or 6 only
1 --------------------------- LINE 8 --- values of 0,1,2 or 3 only
5 5 ------------------------- LINE 9 --- New user - How many calls
0 0 ------------------------- LINE 10 --- Skip until d/l exceed this value
0 0 ------------------------- LINE 11 --- Skip until uploads exceed this value
25 25 ----------------------- LINE 12 -- low value of sec level to skip
55 55 ----------------------- LINE 13 -- high value of sec level to skip
22 --------------------------LINE 14 -- # of entries in next line
-20 30 -15 35 -11 40 0 45 1.2 46 1.3 47 1.4 48 1.5 49 1.6 50 1.7 51 10 52
or
5 46 10 47 15 48 20 49 30 50 60 55 70 60
|
^------ LINE 15
NOTE: lines 9 thru 13 now contain two values, they must be present. The second
value is the value used for the report. It has the same function as the first
but only for the report. The first value is used for security level updating
They may be the same value or different, thus allowing you to customize what
is present in your report.
What the .cfg means:
1. The first line is the version of pcboard being run. All versions
from 10.o to 11.8 have the same type of users file specs. With version
12.0 the size of the users file has increased. Any value greater than
11.9 will use the new larger file size. DO NOT Enter any value greater
than 11.9 unless you are using either the Beta version of 12.0 or are
running 12.0. You must have an entry here though to use ver 3.3 of
PcbDaily
2. The second line is for all boards where there is a different menu for
different security levels. Placing a "Y" on this line will cause that user
to be change to a novice user each time his security level changes. Every
time it changes the user will now see the menu instead of being in the
expert mode.
3. The third line tells pcbdaily where and what the name of the users
file is. Use complete Drive\path\name of file.
4. The fourth line tells pcbdaily where and what the name of the users
backup file is. Use complete Drive\path\name of file.
5. The fifth line tells pcbdaily where and what the name of the
output file will be. In this case the output file is to be bulletin 11
for the main board. Use complete Drive\path\name of file.
6. Line 6 tells PcbDaily where to find the report heading. The report
heading may contain any valid ASCII characters including ANSI graphics.
One note here though, If you use an ansi drawing program to produce your
heading, some programs will save the whole page, including extra blank lines.
These blank lines will be reflected in the output file. Make sure your program
removes them or you edit the file and remove them. I believe animation will
also work but I have not tried it. As an additional option, you may place
the word "NULL", in capital letters and no report heading will be used.
7. Line 7 tells pcbdaily just what you want it to do, at present there
are 7 possibilities.
0 - create backup of users file only
1 - create backup of users file and print report
2 - print report only
3 - create backup of users file and perform security level updates
based on up/dl ratio's
4 - create backup, do security updates based on u/d ratio's, and
print report
5 - create backup, do security updates based on uploads only
6 - create backup, do security updates based on uploads, and report
8. Line 8 tells pcbdaily what type of users status report you want
at present there are 4 possibilities. Samples are included in arc'd file.
0 - Name,last date on, times on, dl's,uploads,up/dl ratio, sec level.
1 - Same as report 0 except security levels are not shown.
2 - Name, upload/download ratio.
3 - Name, Uploads
9. Line 9 is the value for a new user, ie the number of times called.
When doing updates on security levels either on ratio's or uploads, if a
person has called less than or equal to this value, they will be skipped.
Line 9 can contain any number from 0 to 99. If a 0 is present all
users whose clearance is above the value given in line 12 and below the
value given in line 13 will be subject to security level up dates. Unless
you have a value in lines 10 and/or 11.
Any other number will cause that user to be skipped until the number of
times they have called your BBS exceeds the entered number. At the present
time, this is the only way with PCBoard that I can find to determine
whether or not a person is a new user.
10. Line 10 is the value used to skip all users until their downloads
exceed this value. By placing a 0 here all users are included regardless
of the number of downloads. A value of 5 would skip all users until they
have downloaded more than 5 files.
11. Line 11 is the value used to skip all users until their uploads
exceed this number. By placing a 0 here all users are included regardless
of the number of uploads. A value of 5 would skip all users until they have
uploaded more than 5 files.
12. Line 12 is the lower security level, all users equal to or below
this level will not be included in the security updates.
13. Line 13 is the upper security level, all users equal to or above
this level will not be included in the security updates. As a minimum it
should be set for the sysop's level if you want to include all users. If
it is set higher than the sysop's level and you update security levels. It is
possible to have the sysop's level change. So set it for your level or lower.
The value entered here is an greater than or equal to value. In the example
above 55 is use. Any one with a security level of 55 or higher will not
have their security level changed
14. Line 14 tells pcbdaily how many entries are in line 15. In this
case line 15 contains 22 entries, each entry separate by a space. Line 14
and line 15 must match or you will get a error message telling you they are
not equal and an end to program.
15. Line 15 is the meat of the program. This is where you tell
pcbdaily who gets what security level based on the dl/up ratio. The
first entry is a -20 the second entry is a 30. What is means is that
any one who has a 20 download to 1 upload or more will get a security
level of 30 assigned to them. This is an ( >= ) less than or equal
level. Entry 3 is a -15, 15:1 download/upload ratio , and entry 4 is
35, a security level of 35 will be given to those whose ratio is less
than or equal to the 15:1. Ect.. Any one who has an equal dl/upl
ratio which is 0 has a security level of 45. A new user to my board
starts at 45. The entry after is a positive number 1.2, this is a person
who has more uploads than downloads. This person would have his
security level increased from 45 to 46. Ect....
When updating by uploads alone, then it is strictly a value for number of
uploads and a security level assigned. An easy way to reward those users
who contribute rather than taking.
As an added precaution, any time security levels are updated, before
changing any data in the users file, a backup of the users file is
created.
Line 15 can handle up to 254 entries, which works out to be 127
different security levels.
The process is very similar to the way pcbedit does it, but you can run
PCBDAILY in the event bat and let the computer do the work for you.
SORT:
A sort of the users file has been added. It can be invoked at the command
line when calling PcbDaily.
Usage: Pcbdaily [option]
Where option is AN;DN;AS;DS
AN - sort ascending by last name, a - z
DN - sort descending by last name, z - a
AS - sort ascending by security level, low goes first, then by name
ascending.
DS - sort descending by security level, high goes first, then by
name ascending.
The option is not case sensitive and can be upper or lower case letters, a
space must separate the option from PcbDaily. If no option is selected no
sort of the users file will occur. The sort is performed before any report
is produced. In all cases that a sort is done, a backup will be made of the
users file. The sort is first written to a file name $work.fil and then
renamed to your users file. Should the sort fail for any reason, the users
file will be left intact and you will find $work.fil present. I have tested
the sort extensively and it works well for me. The first sort will take
awhile, subsequent sorts will be quicker. The sort has been setup for users
files of up to 5000 users, but I doubt that basic will allow that many in its
string space. I have it tested on user files up to 950 users without an
out of string message
NOTE for PCBoard ver 10 users: Pcboard 11.X requires the first record be
the sysop's record. The sort will skip the first record in all cases. If
you use the sort option, insure that your first record in your users file
is you !!!.
Revision History:
Aug 26 1986 - First release to public domain ver 1.0
Sept 14 1986 - Ver 1.1 Supports ver 10 and 11 of Pcboard, 30% faster
Ver 1.2 - 1.9 Not released
Oct 20 1986 - Ver 2.0 - Major revisions
Jan 3 1986 - Ver 3.0 - Major revisions, new functions added, add more
error checking
Mar 16 1987 - Ver 3.1 - Added Sort of users file, u/l; d/l levels to be
skipped on ratio, separate report heading,
separate level selects for reports, and still
more error checking.
Mar 17 1987 - Ver 3.2 Replaces ver 3.1, which had a bug in compiling
and did not perform security level updates cor-
rectly
Jul 28 1987 - Ver 3.3 Beta version - Adds compatiblity with ver 12.0
of Pcboard, Add pcboard version to config file
Updated and corrected Documentation.
Aug 18 1987 - Ver 3.4 Beta version - Major rewrite of code to make use
of new QB3 features, made code more compact.
Corrected bug in sort routine that put any user
except SySop with Sec level over 99 at bottom of
sort. Now only updates users record if Security
level changes instead of every time. Speeds updates
quite abit. Added to sort routine, now with sort
by security level, users are put in Alphabetical
order by security level and name. Added change from
expert mode to novice mode.
Aug 20 1987 - Ver 3.5 Finished rewrite of code, changed sort routine,
should be much faster on large users files now,
added an indication that the sort was working,
corrected bug, that could have caused lost of a
user in the user file, one in a 1000. Corrected a
bug that caused sort to fail after 950 or so users.
If using with 12.0, do not use sort, until I can
get more info on the method of Indexing Fred is using
Sept 4 1987 - Ver 3.6 Oh no, not another bug.....
Fix a bug that would only effect the skipping of
records for newusers, uploads and downloads. Turns
out that in the rewrite, I duplicated a couple of
variables and over wrote them.
Any comments, suggestions, bugs, contributions,
please let me know.
Mike Sabot
4925 Cold Springs Drive
Lilburn, Ga 30247
or
ATTN: SYSOP - AESC BBS
Data: 404-381-1947
Voice: 404-448-6100 8am-4pm EST
404-921-5600 6pm-9pm EST only
Online 24 hours
100 meg online
7 days aweek
300/1200/2400/9600 baud